home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / Hack / UTILS / CM386210.ZIP / CM386.DOC next >
Text File  |  1993-08-17  |  13KB  |  234 lines

  1.   
  2.                       CrackerMate v2.10
  3.                         Copyright (c)
  4.                     by ChanWaiKwong Wilfred
  5.                          August, 1993
  6.                       All rights reserved
  7.                       
  8. v1.00: original release in August, 1992                      
  9. v2.00: release in December, 1992
  10.        1) added DESQview check
  11.        2) added CPU type check
  12.        3) slightly improved on Data Analysis so that even fructuating
  13.           data can also be found, and a default of 'Decrease' has been
  14.           assumed if input is not 'i' or 'I'
  15.        4) the input segment and offset in Hardware breakpoint option
  16.           has been modified so that only 4-digit-input will be accepted
  17.           to avoid unnecessary errors
  18.        5) built-in debugger is added so that no external debugger is
  19.           needed, CrackerMate become a standalone program
  20.        6) compability to Tseng Labs vedio card added
  21.        7) bugs in instruction fetch of hardware breakpoint fixed
  22.        8) bugs in interrupt handling fixed
  23.        9) small bugs in data analysis and list address fixed so that wider
  24.           range of address can be analysed
  25.       10) uninstall option added
  26.       11) better display, borderline added
  27. v2.10: release in August, 1993
  28.        1) small bug in hardware breakpoint fixed
  29.        2) better handling of interrupts
  30.        3) ESC key has been changed that it is effective only when it is
  31.           released rather than pressed. This assure a greater integrity
  32.           of the program
  33.        4) hardware breakpoint has been disabled inside debugger to avoid
  34.           unnecessary hanging of machine when hardware breakpoint misused.
  35.           This means that CrackerMate will not popup automatically even
  36.           a hardware breakpoint really occur inside debugger. But the
  37.           hardware breakpoint information can still be obtained if there
  38.           is a hardware breakpoint inside debugger.
  39.        5) data analysis is limited to 16 times, error handling is added
  40.           to handle cases when data analysis exceeded 16.
  41.        6) data analysis has a new option 'unchange' added, but note that
  42.           this option is available after 2nd analysis in order to avoid
  43.           hanging in writing very large file
  44.        7) complete restoring of screen
  45.        8) popup is now possible even when dos is busy, this feature give
  46.           the power of easier cracking when the games are using dos to
  47.           input
  48.        9) a new feature is added in hardware breakpoint which specify the
  49.           only data value to break when memory read/write is performed, if
  50.           no value entered, it will break on any data value.
  51.       10) all the Hex digits are checked in hardware breakpoint, they
  52.           must be reentered again if they are checked invalid
  53.       11) additional open file checking is implemented to avoid errors
  54.           occurring when files of analysis are deleted between data
  55.           analysis
  56.       12) added compatibilty to EMM386, i.e. it works even under EMM386
  57.       13) installation check has been changed that the current version
  58.           will not be compatible to past versions.
  59.       14) distinguishing between QDPMI.SYS and DESQview
  60.  
  61.  
  62. ****************************************************************************
  63. *                                                                          *
  64. *IMPORTANT NOTES ABOUT VERSION 2.10:                                       *
  65. *                      ^^^^^^^^^^^^                                        *
  66. *           Since some mouse drivers may affect the operation of           *
  67. *           CrackerMate such as hanging or vanish of mouse cursor          *
  68. *           when such mouse drivers are installed before CrackerMate,      *
  69. *           CrackerMate must be installed before such mouse drivers        *
  70. *           or use some other mouse drivers such as gmouse.com.            *
  71. *           For example, CrackerMate must be installed before mouse.com    *
  72. *           or qmouse.com but not gmouse.com. So it is advised to          *
  73. *           install CrackerMate FIRST before executing the programs        *
  74. *           in autoexec.bat (Rename autoexec.bat to other batch-           *
  75. *           filename or put CrackerMate at the first line of               *
  76. *           autoexec.bat) to get maximum power of CrackerMate.             *
  77. *                                                                          *
  78. ****************************************************************************
  79.  
  80.         
  81.                           Introduction
  82.                          ---------------
  83.  
  84.         CrackerMate is a game cracking program. It provides the ability
  85. to crack the 'life' as well as the password in a game, especially the
  86. password appears in the middle of a game. It is designed to run with 
  87. any debugger to provide the game cracking features.
  88.  
  89.         CrackerMate v2.10 occupies about 21K of base memory only,
  90. using no expanded nor extended memory. It is purely written in assembly
  91. language.
  92.  
  93.                         
  94.                         System Requirement
  95.                        ---------------------
  96.                 1) 386+ machine
  97.                 2) VGA display
  98.                 3) Dos 3+
  99.                 
  100.                 
  101.                 
  102.                    About the built-in debugger
  103.                   ------------------------------
  104.         The built-in debugger provides all compabilities of the debugger
  105. provided in Dos package except a few options. Anyway, the function avail-
  106. able is more than enough in the purpose of cracking a game. You can just
  107. press  '?' to see  the commands  available. If there are any breakpoint
  108. errors, error message 'BP Error' will be shown on screen where BP means
  109. BreakPoint (not a register error!). Currently maximum of 10 breakpoints
  110. can be set.
  111.  
  112.                        
  113.                   
  114.                                Usage
  115.                               -------
  116. 1) Data analysis:
  117.                 Just enter two temporary filenames in first analysis.
  118.                 In the next analysis, user is required to input Increase,
  119.                 Decrease or Unchange which mean the current data is
  120.                 supposed to be an increase, decrease or unchange compared
  121.                 to the previous data analysed. Currently maximum of 16
  122.                 analysis can be performed.
  123.                 
  124. 2) Start another analysis:
  125.                 Whenever you want to start over the Data analysis, you can
  126.                 use this option.
  127.  
  128. 3) List address:
  129.                 This option let you know what is the address found by the
  130.                 Data Analysis option.
  131.                 
  132. 4) Hardware breakpoint:
  133.                 Whenever you get the address from List address, you can
  134.                 set a hardware breakpoint on the address. Usually the
  135.                 breakpoint is 'write memory' kind since the life is
  136.                 overwritten by the game to a lesser value. You can then
  137.                 immediately find the code in next 'life decrease'. You
  138.                 can modify the code to your like by next option Return
  139.                 to debugger (you should have some knowlege in assembly 
  140.                 language at this point). The cracking life procedure is 
  141.                 finished. Note that when inputing the addresses, all the
  142.                 four digits must be entered, e.g. 0011 instead of 11.
  143.                 Otherwise, the program will need you to reenter it again.
  144.                 Once a hardware breakpoint is set, it can be disabled
  145.                 before the actual break occur by resetting a hardware
  146.                 breakpoint with instruction fetch i and address 0000:0000.
  147.                 If the breakpoint is memory read/write type, a optional
  148.                 data value can also be entered to specify the hardware
  149.                 breakpoint. For example, with a 'w' breakpoint and data
  150.                 value of '03', the breakpoint only occur when there is a
  151.                 memory write to the entered address with value 3 but not
  152.                 any other value, say 4. This feature is very useful when
  153.                 a game write to 'life' address continuously. Note when
  154.                 entering the data value, either enter ZERO digit or TWO
  155.                 digits in hexadecimal If ZERO digit is entered, the break-
  156.                 point is effective in any data value. If only ONE digit
  157.                 is entered, the program will need you to reenter it again.
  158.  
  159. 5) View screen:
  160.                 This option can allow the user to view the screen just
  161.                 before popup, press any key will back to the main menu
  162.                 
  163. 6) Uninstall:
  164.                 When you want to free CrackerMate from memory, you can
  165.                 use this option.
  166.                                 
  167. 7) Return to debugger:
  168.                 This option will allow you to return control to debugger.
  169.                 Thus allow you to debug the game.
  170.                 
  171. 8) Return to game:
  172.                 If you have returned to debugger, this option will allow
  173.                 you to return from debugger back to game. Make sure you
  174.                 'run' (the G command in Dos debugger) the game before you
  175.                 popup CrackerMate and use this option, otherwise the game 
  176.                 will hang and you will need to reboot.
  177.                 
  178.         
  179.  
  180.                       Procedure of cracking 'life'
  181.                      -----------------------------
  182.         Run the game, then popup CrackerMate.
  183.         1) Choose Data analysis, choose Decrease as life is decreasing.
  184.            Enter the temporary filenames.
  185.         2) Press Esc to return to game.
  186.         3) When your life decrease, popup CrackerMate again and choose 
  187.            Data analysis. This time you are not required to input but 
  188.            wait for the analysis. My 386 machine take about 15 seconds 
  189.            for the longest one. Then press Esc to return to game.
  190.         4) After several analysis, choose List address to find the
  191.            possible addresses of the 'life' data. If the life decrease
  192.            in the order 3-2-1, you may want to look at the address with
  193.            3-2-1 data. Note the data closest to the address is the most
  194.            recent value, so you may see the display like:
  195.            4000:0011  01 02 03
  196.         5) After knowing the address, set a Hardware breakpoint on it.
  197.            Since the address is overwritten by the game, choose the
  198.            Write memory option. From step 4, the segment is 4000 and
  199.            offset is 0011. Make sure you entered all the four digits,
  200.            i.e. 0011 instead of 11. After setting up a breakpoint, press
  201.            Esc to return to game. CrackerMate will popup when finding the
  202.            code address, you can see the break address by choosing the
  203.            Hardware breakpoint option again. Then you can press R to 
  204.            return to debugger to see the code in the address and modify
  205.            the code to your like. Notice the break address is the address
  206.            immediately after the actual code modifying the data. So if
  207.            you find the break address is 1234:5678, you may look at the
  208.            code before the address, e.g.,1234:5675, (depends on the code).
  209.            (For the Instruction fetch, the break address will be exactly
  210.            the same as the code located, a little bit different from
  211.            Read/Write memory breadkpoint.)
  212.         6) After modifying the code, you can type g to continue executing
  213.            the game if in debugger. Then popup CrackerMate again, press
  214.            Esc and the screen of the game will be restored, then you can
  215.            continue playing the game. You can also record down the code
  216.            and modify the code directly in the game file so that the
  217.            cracking become 'permanent' not 'temporary'.
  218.                              
  219.            
  220.            
  221.                     Procedure of cracking password
  222.                    --------------------------------
  223.         When prompting for a password, you can popup CrackerMate and return
  224. to debugger. Then you can debug the game to crack the password. There is
  225. no standard method to crack password actually!
  226.  
  227.  
  228. Note that the Hotkey is NumLock or Pause as their scan code are the same.
  229.  
  230.  
  231. Any comments are welcome, the e-mail address of the writer are
  232. h9109253@hkuxa.hku.hk, h9109253@hkueee2.hku.hku or
  233. wkchan4@sunmp.csd.hku.hk
  234.